1. Field of the Invention
The present invention relates to a communication system including a host device and plural device units, and more specifically to a communication system adopting a communication protocol such as a USB (universal serial bus), which starts data transmission/reception between a host device and a device unit using token packets from the host device. In particular, the invention relates to a technique of saving power consumption in a device unit in such a communication system.
2. Description of Related Art
The USB (universal serial bus) standard is a communication standard that allows data transmission/reception between a single host device and plural device units; a PC typifies the host device, and its peripheral devices typify the device units. This USB standard has been put in widespread use as a communication interface for connecting the PC and the peripheral devices. The USB standard adopts a star logical bus topology where a single host device is connected with the plural device units. In the following description, a system composed of a single host device and plural device units connected therewith is called a USB system.
The communication between the host device and the device units, which conforms to the USB standard is dependent on the host device. The host device sends token packets to the device units to start the communications with the device units. A series of processings from the transmission of the token packets to the completion of the data exchange are executed in three stages of token phase, data phase, and handshake phase. These series of processings are collectively called “transaction”.
Referring to FIG. 13 and FIGS. 14A to 14C, a data transmission/reception processing in a conventional USB system is described. FIG. 13 is a timing chart of a data transmission/reception timing in the conventional USB system. FIGS. 14A to 14C show the configuration of a USB packet exchanged between the host device and the device units. In FIG. 13, token intervals n, n+1, . . . indicate time intervals at which the host device sends the token packets, and each of processings defined by the token intervals n, n+1, . . . , corresponds to one transaction. For example, the transaction of the token interval n is an OUT transaction for sending data from the host device to a device unit A. In the token interval n, first, the host device sends an OUT token packet 1301Tx. Here, Tx and Rx denote the packet transfer direction; Tx denotes a transmission packet, and Rx denotes a reception packet. The host device sends an OUT data packet 1302Tx following the OUT token packet 1301Tx. Finally, the device unit A receiving the OUT data packet 1302Rx sends a handshake packet 1303Tx to the host device, and the host device receives this packet to thereby complete one OUT transaction.
When the host device sends the OUT token packet 1301Tx, all the device units A to C that stand ready to receive a token packet receive the token packet 1301Rx. Among the device units having received the token packets 1301Rx, the device unit A designated as a corresponding node receives data, while the devise units B and C are kept on standby in preparation for the next transmission of a token packet, that is, kept ready for reception of the token packet (hereinafter, referred to as “waiting state”).
Here, the OUT token packet 1301Tx is a token packet indicative of the start of the OUT transaction from the host device to the device units. FIG. 14A shows the configuration of the token packet. As regards the OUT token packet 1301, a PID value indicating the OUT transaction is specified in a PID1401, and the device unit A as a corresponding node is designated based on an address (ADDR) 1402 and an endpoint (ENDP) 1403. Further, as shown in FIG. 14B, the OUT data packet 1302 is composed of, a PID1404 indicating a data packet type and a data unit 1405. As shown in FIG. 14C, the handshake packet 1303 is composed of a PID1406, and a PID value representing whether the data reception is succeeded or failed is specified.
On the other hand, the transaction of the token interval n+1 shown in FIG. 13 is an IN transaction for sending the data from the device unit to the host device. In the case of IN transaction, the host device designates a device unit which is allowed the data transmission by sending the token packet 1304Tx. The device unit B designated with the token packet 1304 sends an IN data packet 1305Tx to the host device. When the host device succeeds in receiving the IN data packet 1305Rx, the handshake packet 1306Tx is sent back to complete the IN transaction.
As mentioned above, the data transmission/reception between the host device and the device unit in conformity with the USB standard starts with the transmission of the token packet inclusive of the designation of the device unit as a corresponding node with the host device.
In the USB system, the host device generally sends the token packet at a given timing, not at regular intervals. Therefore, the device unit not executing the transaction needs to be kept in a waiting state that allows the reception of the next token packet from the host device.
Thus, as shown in a timing chart of FIG. 15, especially in the case of continuously exchanging the data between the host device and a specific device unit, the other device units waste power. The host device continuously exchanges data with the device B between the token intervals n+1 and n+3 of FIG. 15; during such a period, the device units A and C not involved in data exchange with the host device also receives and interprets the token packet sent by the USB host every transaction, but the received token packet is not a token packet addressed to the device units A and C, so the device units A and C should be kept in a waiting state. As mentioned above, the other devices not involved in data exchange need to receive and interpret the token packets from the host device while being kept in the waiting state, and thus waste power.
Hitherto, the connection between the host device and the device units has been based on a cable. A new standard (hereinafter, referred to as wireless USB) adopting a wireless interface for a physical layer connecting between the host device and the device units has been under development. Upon such wireless communications, especially, power saving/long-term operation is required.
Japanese Unexamined Patent Publication No. 2002-300175 discloses a technique for reducing power consumption on a terminal station in a wireless communication system of CSMA system conforming to IEEE802.11b. To be specific, in sending data from an access point to a terminal station, a transmission time as information about the time until the next data transmission to the terminal station is added to transmission data. The terminal station receiving data including the transmission time stops the operation until the transmission time elapses, and after the elapse of the transmission time, the terminal station returns to a waiting state.
However, the host device of the USB system operates in response to a data transmission/reception instruction from a PC responsible for an upper layer of a USB communication protocol, so the host device cannot schedule the next data transmission/reception for each device unit beforehand. Accordingly, the host device cannot set the next data transmission/reception time for each device unit, and notify each device unit of the time. Hence, it is difficult to apply the technique disclosed in Japanese Unexamined Patent Publication No. 2002-300175 to the USB system.
During the unrelated transaction, the devices should receive the token packet and thus waste power in any other systems than the USB system, more specifically, in communication systems for exchanging data between the host device and plural device units. This problem is common to the communication systems adopting a communication protocol that starts the transaction between the host device and the device units in accordance with the token packet from the host device, as in the USB system.